
export interface IBaseType<T = any> {
  code: number
  data: { data: T, token?: string }
  msg: string
}
export interface ISuccessLogin {
  code: number
  data: {
    token: string
  }
  msg: string
}

export type IPromiseShell<T = any> = Promise<IBaseType<T>>

export interface ISongItem {
  id: number;
  introduction: string;
  pic: string;
  style: string;
  title: string;
}
export interface IPageInfo {
  pageSize: number
  page: number
  total?: number
}
export interface ISongWithPage<T> {
  records: T;
  total: number;
  size: number;
  current: number;
  pages: number;
}

export interface IBannerItem {
  id: number,
  pic: string
}
export interface ISingerItem {
  introduction: string
  birth: number
  id: number
  location: string
  name: string
  pic: string
  sex: number
}

// 歌词详情页类型
export type IDetailType = 'song' | 'singer' | 'lyric'

export interface ISingerDetailItem {
  createTime: number;
  updateTime: number;
  url: string;
  introduction: string;
  pic: string;
  id: number;
  name: string;
  singerId: number;
  lyric: string;
}